package com.hpsk.shopsatoken.model.user.service;

import cn.dev33.satoken.stp.SaTokenInfo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hpsk.common.PageCommon;
import com.hpsk.shopsatoken.model.user.dto.LoginParamDto;
import com.hpsk.shopsatoken.model.user.dto.UserDto;
import com.hpsk.shopsatoken.model.user.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hpsk.shopsatoken.model.user.vo.UserVo;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author huangwang
 * @since 2025-05-22
 */
public interface IUserService extends IService<User> {

    /**
     * 登录
     * @param dto
     * @return
     */
    SaTokenInfo login(LoginParamDto dto);

    Page<User> selectPageVo(PageCommon pageCommon);

    /**
     * 新增
     * @param userDto
     * @return
     */
    User add(UserDto userDto);

    /**
     * 删除
     * @param id
     * @return
     */
    User deleteById(Long id);

    /**
     * 详情
     * @param id
     * @return
     */
    UserVo detail(Long id);
}
